div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
PLUS2(plus2(n, m), u) -> PLUS2(n, plus2(m, u))
COND4(true, x, y, z) -> PLUS2(s1(y), z)
PLUS2(plus2(n, m), u) -> PLUS2(m, u)
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
DIV2(x, s1(y)) -> D3(x, s1(y), 0)
D3(x, s1(y), z) -> GE2(x, z)
PLUS2(n, s1(m)) -> PLUS2(n, m)
GE2(s1(u), s1(v)) -> GE2(u, v)
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
PLUS2(plus2(n, m), u) -> PLUS2(n, plus2(m, u))
COND4(true, x, y, z) -> PLUS2(s1(y), z)
PLUS2(plus2(n, m), u) -> PLUS2(m, u)
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
DIV2(x, s1(y)) -> D3(x, s1(y), 0)
D3(x, s1(y), z) -> GE2(x, z)
PLUS2(n, s1(m)) -> PLUS2(n, m)
GE2(s1(u), s1(v)) -> GE2(u, v)
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
PLUS2(plus2(n, m), u) -> PLUS2(n, plus2(m, u))
PLUS2(plus2(n, m), u) -> PLUS2(m, u)
PLUS2(n, s1(m)) -> PLUS2(n, m)
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
PLUS2(plus2(n, m), u) -> PLUS2(n, plus2(m, u))
PLUS2(plus2(n, m), u) -> PLUS2(m, u)
PLUS2(n, s1(m)) -> PLUS2(n, m)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
ge2(x0, 0)
d3(x0, s1(x1), x2)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
PLUS2(plus2(n, m), u) -> PLUS2(n, plus2(m, u))
PLUS2(plus2(n, m), u) -> PLUS2(m, u)
PLUS2(n, s1(m)) -> PLUS2(n, m)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
plus2(x0, s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
GE2(s1(u), s1(v)) -> GE2(u, v)
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GE2(s1(u), s1(v)) -> GE2(u, v)
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
GE2(s1(u), s1(v)) -> GE2(u, v)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
div2(x, s1(y)) -> d3(x, s1(y), 0)
d3(x, s1(y), z) -> cond4(ge2(x, z), x, y, z)
cond4(true, x, y, z) -> s1(d3(x, s1(y), plus2(s1(y), z)))
cond4(false, x, y, z) -> 0
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
d3(x0, s1(x1), x2)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
D3(x0, s1(y1), 0) -> COND4(true, x0, y1, 0)
D3(0, s1(y1), s1(x0)) -> COND4(false, 0, y1, s1(x0))
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x0, s1(y1), 0) -> COND4(true, x0, y1, 0)
D3(0, s1(y1), s1(x0)) -> COND4(false, 0, y1, s1(x0))
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x0, s1(y1), 0) -> COND4(true, x0, y1, 0)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
COND4(true, y0, y1, s1(x1)) -> D3(y0, s1(y1), s1(plus2(s1(y1), x1)))
COND4(true, y0, y1, 0) -> D3(y0, s1(y1), s1(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND4(true, y0, y1, s1(x1)) -> D3(y0, s1(y1), s1(plus2(s1(y1), x1)))
COND4(true, y0, y1, 0) -> D3(y0, s1(y1), s1(y1))
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
D3(x0, s1(y1), 0) -> COND4(true, x0, y1, 0)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND4(true, y0, y1, s1(x1)) -> D3(y0, s1(y1), s1(plus2(s1(y1), x1)))
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
COND4(true, s1(z0), z1, s1(z2)) -> D3(s1(z0), s1(z1), s1(plus2(s1(z1), z2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
COND4(true, s1(z0), z1, s1(z2)) -> D3(s1(z0), s1(z1), s1(plus2(s1(z1), z2)))
D3(s1(x0), s1(y1), s1(x1)) -> COND4(ge2(x0, x1), s1(x0), y1, s1(x1))
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
d3(x0, s1(x1), x2)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
plus2(plus2(x0, x1), x2)
d3(x0, s1(x1), x2)
cond4(false, x0, x1, x2)
cond4(true, x0, x1, x2)
div2(x0, s1(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND4(true, x, y, z) -> D3(x, s1(y), plus2(s1(y), z))
D3(x, s1(y), z) -> COND4(ge2(x, z), x, y, z)
plus2(n, 0) -> n
plus2(n, s1(m)) -> s1(plus2(n, m))
plus2(plus2(n, m), u) -> plus2(n, plus2(m, u))
ge2(u, 0) -> true
ge2(0, s1(v)) -> false
ge2(s1(u), s1(v)) -> ge2(u, v)
ge2(x0, 0)
plus2(x0, s1(x1))
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
plus2(x0, 0)
plus2(plus2(x0, x1), x2)